#include <stdio.h>
#include <math.h>
_Bool h1t0(int a[100], short int m);

int main()
{
    int a[100][100];
    int tmp[100], anstmp[100];
    long long int ans=0,astp;
    short int n, m;
    scanf("%hd %hd", &n, &m);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            scanf("%d", a[i] + j);
        }
    }
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            tmp[j] = a[i][j];
        }

        for (int j = 0; j < m; j++)
        {
            if (h1t0(tmp, m - j))
            {
                anstmp[j] += tmp[0];
                for (int k = 0; k < m - 1; k++)
                {
                    tmp[k] = tmp[k + 1];
                }
            }
            else
            {
                anstmp[j] += tmp[m - j - 1];
            }
        }
    }
    for (int i = 1; i <= m; i++)
    {
        astp=1;
        for (int j = 1; j <= i; j++)
        {
            astp*=2;
        }
        ans+=astp*anstmp[i-1];
    }
    printf("%lld",ans);
}
_Bool h1t0(int a[100], short int m)
{
    for (int i = 0; i < m / 2; i++)
    {
        if (a[i] > a[m - i - 1])
        {
            return 0;
        }
        else if (a[i] < a[m - i - 1])
        {
            return 1;
        }
    }
    return 0;
}
